package cn.edu.fzu.homemaking.service;

import cn.edu.fzu.homemaking.domain.entity.UserDemand;
import cn.edu.fzu.homemaking.domain.enums.DemandStatusEnum;
import cn.edu.fzu.homemaking.domain.vo.UserDemandVo;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author jiebin
 * @date 2023/4/1
 */

public interface DemandService {
    /**
     * 添加需求
     * @param userId
     * @param labelId
     * @param demand
     * @param time
     * @param address
     * @param person
     * @param price
     * @param name
     * @param phone
     * @param email
     * @param status
     */
    void insert(Long userId, Long labelId, String demand, String time, String address, Integer person, BigDecimal price,
                String name, String phone, String email, DemandStatusEnum status);

    /**
     * 查询用户需求列表
     * @param userId
     * @param labelId
     * @param startTime
     * @param endTime
     * @param address
     * @param status
     * @return
     */
    List<UserDemandVo> list(Long userId, Long labelId, String startTime, String endTime, String address, DemandStatusEnum status);

    /**
     * 更新需求状态
     * @param id
     * @param status
     */
    void updateDemandStatus(Long id, DemandStatusEnum status);

    /**
     * 删除需求
     * @param id
     */
    void delete(Long id);

    /**
     * 根据id获取用户需求
     * @param id
     * @return
     */
    UserDemand selectById(Long id);
}
